﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data.SqlClient;


namespace HotelManagement
{
    public partial class PTypeFRM : Form
    {
        SqlConnection Cnn = new SqlConnection(Globals.DBConnection());
        DataSet ds = new DataSet();
        SqlDataAdapter da;
        int pt_id;
        public PTypeFRM()
        {
            InitializeComponent();
        }

        private void PTypeFRM_Load(object sender, EventArgs e)
        {
            da = new SqlDataAdapter("select pt_id as[کد], pt_name as [نوع پرداخت] from Payment_Type", Cnn);
            da.Fill(ds);
            DgViewPtype.DataSource = ds.Tables[0];
        }

        private void SaveBtn_Click(object sender, EventArgs e)
        {
            if (!string.IsNullOrEmpty(PaymentTypeNameTxt.Text))
            {
                SqlCommand SaveINDB = new SqlCommand("INSERT INTO Payment_Type (pt_name) values (@pt_name)", Cnn);
                SaveINDB.Parameters.AddWithValue("@pt_name", PaymentTypeNameTxt.Text.Trim());
                
                Cnn.Open();
                SaveINDB.ExecuteNonQuery();
                Cnn.Close();

                ds.Clear();
                da.Fill(ds);
                DgViewPtype.DataSource = ds.Tables[0];
            }
            else
            {
                MessageBox.Show("لطفا نوع پرداخت را وارد کنید");
            }
        }

        private void DelBtn_Click(object sender, EventArgs e)
        {
            if (MessageBox.Show("آیا برای حذف نوع پرداخت مطمئنید؟", "Delete", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
            {
                SqlCommand DeleteCMD = new SqlCommand("DELETE FROM Payment_Type WHERE pt_id=@pt_id", Cnn);
                DeleteCMD.Parameters.AddWithValue("@pt_id", pt_id);
                Cnn.Open();
                try
                {
                    DeleteCMD.ExecuteNonQuery();
                }
                catch (SqlException)
                {
                    MessageBox.Show("این نوع در حال استفاده است", "خطا", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    Cnn.Close();
                    return;
                }
                finally
                {
                    Cnn.Close();
                }


                Cnn.Close();

                ds.Clear();
                da.Fill(ds);
                DgViewPtype.DataSource = ds.Tables[0];


                MessageBox.Show("حذف نوع پرداخت با موفقیت انجام شد");
                DelBtn.Enabled = false;
            }
        }

        private void DgViewPtype_CellMouseDoubleClick(object sender, DataGridViewCellMouseEventArgs e)
        {
            DelBtn.Enabled = true;
            pt_id = (int)DgViewPtype.CurrentRow.Cells[0].Value;
        }
    }
}
